home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / OpenDoc Parts Framework / OPF / Examples / Movie / Include / MovieFac.h < prev    next >
Encoding:
Text File  |  1994-04-21  |  3.7 KB  |  127 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                MovieFac.h
  4. //    Release Version:    $ 1.0d1 $
  5. //
  6. //    Author:                Lonnie Millett
  7. //    Creation Date:        3/28/94
  8. //
  9. //    Copyright:    © 1993, 1994 by Apple Computer, Inc., all rights reserved.
  10. //
  11. //========================================================================================
  12.  
  13. #ifndef MOVIEFAC_H
  14. #define MOVIEFAC_H
  15.  
  16. #ifndef FWFACET_H
  17. #include <FWFacet.h>
  18. #endif
  19.  
  20. #if defined(FW_BUILD_MAC) && !defined(__MOVIES__)
  21. #include <Movies.h>
  22. #endif
  23.  
  24. #if defined(FW_BUILD_MAC) && !defined(__ALIASES__)
  25. #include <Aliases.h>
  26. #endif
  27.  
  28. //==============================================================================
  29. // Classes defined in this interface
  30. //==============================================================================
  31.  
  32. class CMovieFacet;
  33.  
  34. //==============================================================================
  35. // Classes used by this interface
  36. //==============================================================================
  37.  
  38. class XMPFacet;
  39. class XMPShape;
  40. class FW_CRect;
  41. class CMovieFrame;
  42. class CMoviePart;
  43. class XMPDragItemIterator;
  44.  
  45. //==============================================================================
  46. // Constants
  47. //==============================================================================
  48.  
  49. //==============================================================================
  50. // CMovieFacet
  51. //==============================================================================
  52.  
  53. class CMovieFacet : public FW_CFacet
  54. {
  55. public:
  56.     CMovieFacet();
  57.     virtual ~CMovieFacet();
  58.     void InitMovieFacet(XMPFacet* xmpFacet, CMovieFrame* movieFrame);
  59.     
  60.     CMovieFrame* GetMovieFrame() const;
  61.     CMoviePart* GetMoviePart() const;
  62.     
  63.     Movie GetMovie();
  64.     virtual void SetMovie(Movie newMovie);
  65.     
  66.     void AdjustMovieBox();
  67.     virtual void  ClipShapeChanged();
  68.     void GetMovieBoundingBox(FW_CRect* boundingBox);
  69.     
  70.     virtual void StartMovie();
  71.     virtual void StopMovie();
  72.     virtual void SetMovieLooping(FW_Boolean loop);
  73.     
  74.     virtual void Draw(FW_CGraphicContext *gc);
  75.     virtual void  GeometryChanged();
  76.     
  77.     virtual void WindowActivated();
  78.     virtual void WindowDeActivated();
  79.     
  80.     virtual FW_Boolean DoMouseDown(const FW_CPoint& where, XMPEventData event);
  81.     FW_Boolean DoMovieKey(XMPEventData event);
  82.     void DoMovieSetVisible(FW_Boolean visible);
  83.     FW_Boolean DoMovieIdle();
  84.     void DoMovieActivate(FW_Boolean activate);
  85.     
  86.     FW_Boolean IsControllerVisible();
  87.     
  88.     //--- Selection ------
  89.     void GetCurrentSelection(TimeValue* currentTime, TimeValue* duration);
  90.     void SetCurrentSelection(TimeValue currentTime, TimeValue duration);
  91.     FW_Boolean IsEmpty();
  92.     void CloseSelection();
  93.     void ClearSelection(TimeValue currentTime, TimeValue duration);
  94.     void SelectAll();
  95.     FW_PlatformHandle CopySelection();
  96.     
  97.     //--- Drag and Drop ------
  98.     virtual void DragEnter(XMPDragItemIterator* dragInfo, const FW_CPoint& where);
  99.     virtual FW_Boolean DrawDragHiliteInside();
  100.     PicHandle GetMovieAsPict();
  101.     void PasteMovieToSelection(Movie newMovie, TimeValue currentTime, TimeValue duration);
  102.     void PasteHandleToSelection(FW_PlatformHandle newHandle, OSType handleType, TimeValue currentTime, TimeValue duration);
  103.  
  104. private:
  105.     CMovieFrame* fMovieFrame;
  106.     Movie fMovie;
  107.     MovieController fMovieController;
  108. };
  109.  
  110. //----------------------------------------------------------------------------------------
  111. // CMovieFacet::GetMovieFrame()
  112. //----------------------------------------------------------------------------------------
  113. inline CMovieFrame* CMovieFacet::GetMovieFrame() const
  114. {
  115.     return fMovieFrame;
  116. }
  117.  
  118. //----------------------------------------------------------------------------------------
  119. // CMovieFacet::GetMovie
  120. //----------------------------------------------------------------------------------------
  121. inline Movie CMovieFacet::GetMovie()
  122. {
  123.     return fMovie;
  124. }
  125.  
  126. #endif
  127.